/*
 * ITransistion.java
 *
 * Created on 21 October 2007, 14:25
 *
 */

package net.ubinow.mflex.baseui;

import net.ubinow.mflex.events.IEventPublisher;

/**
 *
 * @author Josh
 */
public interface ITransistion extends IEventPublisher {
    
    public static final int TRANSITION_NONE         = 0;
    public static final int TRANSITION_FLY_LEFT     = 1;
    public static final int TRANSITION_FLY_RIGHT    = 2;
    public static final int TRANSITION_FLY_UP       = 3;
    public static final int TRANSITION_FLY_DOWN     = 4; 
    
    public static final int STATE_TRANSITIONING_IN  = 0;
    public static final int STATE_TRANSITIONING_OUT = 1;
    public static final int STATE_SHOWING           = 2; // finished transitioning in 
    public static final int STATE_HIDING            = 3; // finished transitioning out
    
    public void prepareTransIn( IWidget[] views ); 
    public void move();            
    public void prepareTransOut( IWidget[] views  );
    
    public void setState( int state );
    public int getState();         
    
    public void setTransitionInType( int type );
    public int getTransitionInType(); 
    
    public void setTransitionOutType( int type );
    public int getTransitionOutType(); 
}
